
const path = require('path')
// 导入数据库操作模块
const db = require('../db/index')

// 发布新文章的处理函数
exports.addArticle = (req, res) => {
    // 手动判断是否上传了文章封面
    if (!req.file || req.file.fieldname !== 'cover_img') return res.cc('文章封面是必选参数！')
    // console.log(req.body) // 文本类型的数据
    // console.log(req.auth.id);
    // console.log('--------分割线----------')
    // //console.log(req.file) // 文件类型的数据


    const articleInfo = {
        // 标题、内容、状态、所属的分类Id
        ...req.body,
        // 文章封面在服务器端的存放路径
        cover_img: path.join('/uploads', req.file.filename),
        // 文章发布时间
        pub_date: new Date(),
        // 文章作者的Id
        author_id: req.auth.id,
    }

    const sql = `insert into ev_articles set ?`
    db.query(sql, articleInfo, (err, results) => {
        // 执行 SQL 语句失败
        if (err) return res.cc(err)

        // 执行 SQL 语句成功，但是影响行数不等于 1
        if (results.affectedRows !== 1) return res.cc('发布文章失败！')

        // 发布文章成功
        res.cc('发布文章成功', 0)
    })
}

exports.getArticlesList = (req, res) => {
    const sql = `select * from ev_articles where is_delete=0`
    db.query(sql, (err, results) => {
        if (err) return res.cc(err)
        res.send({
            status: 0,
            message: '获取成功',
            data: results
        })
    })
    //res.send('getArticles')
}

exports.deleteArticleById = (req, res) => {
    const sql = `update ev_articles set is_delete=1 where id=?`
    db.query(sql, req.params.id, (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) { return res.cc('删除文章失败！') }
        res.cc('删除文章成功！', 0)
    })
}

exports.getArticleById = (req, res) => {
    const sql = `select * from ev_articles where id=?`
    //res.send('getArticleById')
    db.query(sql, req.params.id, (err, results) => {
        if (err) return res.cc(err)
        if (results.length !== 1) { return res.cc('获取文章详情失败！') }
        res.send({
            status: 0,
            message: '获取文章详情成功！',
            data: results[0],
        })
    })
}
exports.editArticle = (req, res) => {
    //res.send('editArticle')
    // 手动判断是否上传了文章封面
    if (!req.file || req.file.fieldname !== 'cover_img') return res.cc('文章封面是必选参数！')
    // console.log(req.body) // 文本类型的数据
    // console.log(req.auth.id);
    // console.log('--------分割线----------')
    // //console.log(req.file) // 文件类型的数据


    const articleInfo = {
        // 标题、内容、状态、所属的分类Id
        ...req.body,
        // 文章封面在服务器端的存放路径
        cover_img: path.join('/uploads', req.file.filename),
      
    }

    const sql = `update ev_articles set ? where id=?`
    //console.log(req.body);
    db.query(sql, [articleInfo,req.body.id], (err, results) => {
        // 执行 SQL 语句失败
        if (err) return res.cc(err)

        // 执行 SQL 语句成功，但是影响行数不等于 1
        if (results.affectedRows !== 1) return res.cc('修改文章失败！')

        // 修改文章成功
        res.cc('修改文章成功', 0)
    })

}